1. 전체 흐름
- 최초 유입
- 로그인 유도
- 로그인
- 닉네임 설정
- 페이지 조회 및 수정
- 위키 개설 신청
2. 단계별 설명
2.2. 2. 로그인 유도
읽기가 거부되면 Wiki/error.scala.html 이 자물쇠 아이콘과 사유(Permission denied.)를 보여주고, 비로그인일 때만 Login 버튼을 함께 보여준다. 없는 페이지를 편집하려다 막힌 경우도 같은 화면이다.
"별도 안내 없이 막히거나 빈 화면" 이라고 적혀 있던 것은 틀렸다. 언제부터 화면이 있었는지는 이 문서에 근거가 없다 — 다만 Dev Api 의 완료 목록에 "권한 없음 Login 버튼" 의 톤을 맞춘 항목이 있으니, 적어도 그때는 있었다. --2026-09-03
남은 것은 이 화면이 아니라 그 앞이다. 목록·검색은 읽을 수 없는 페이지를 아예 감추므로(AccessControl 의 목록·검색 필터링), 로그인하면 더 보인다는 사실을 알릴 자리가 없다.
2.3. 3. 로그인
Google OAuth로 로그인한다.
/login→/google/oauth/login→ Google 인증 →/google/oauth/callback- 최초 로그인 시 계정이 자동 생성된다.
- 닉네임은 이메일 앞부분(local part)을 기반으로 자동 지정된다.
2.4. 4. 닉네임 설정
[일부 구현]
최초 로그인 직후 닉네임을 직접 입력하는 화면은 아직 없다. 이메일 앞부분이 그대로 닉네임이 된다.
바꿀 수는 있다(2026-09-02 배포). Account Settings 에서 새 닉네임을 신청하고 관리자가 승인·거절한다 — 사용자가 스스로 바꾸지는 않는다. 규칙·화면·API 는 UserNicknameChange.
즉 이 단계에서 남은 것은 가입 직후의 안내뿐이다. 신청 흐름이 이미 있으므로, 만든다면 새 화면이 아니라 그 흐름으로 보내는 것으로 족하다.
2.5. 5. 페이지 조회 및 수정
사이트 권한에 따라 페이지를 읽고 편집할 수 있다.
- 읽기(Read): 페이지 내용 조회
- 편집(Edit): 기존 페이지 수정
- 생성(Create): 새 페이지 작성
- 업로드(Upload): 첨부파일 추가
- 이름 변경(Rename): 페이지 이름 바꾸기
- 삭제(Delete): 페이지 삭제
권한 설정은 AccessControl 참고.
2.6. 6. 위키 개설 신청
[구현됨]
로그인한 사용자가 /site/request 에서 신청하고 관리자가 승인하면 사이트가 열린다. 절차와 왜 그렇게 만들었는지는 Setup.
관련 TODO: ToDo-User-Acquisition
3. 구현 현황
단계 | 상태 | 비고 |
|---|---|---|
최초 유입 | 구현됨 | 공개 권한 설정에 따라 열람 가능 |
로그인 유도 | 구현됨 | 권한 거부 화면이 사유와 Login 버튼을 보여준다 (비로그인일 때만) |
로그인 | 구현됨 | Google OAuth, 신규 사용자 자동 계정 생성 |
닉네임 설정 | 일부 구현 | 자동 지정은 그대로. 변경은 신청·승인으로 가능(2026-09-02) |
페이지 조회 및 수정 | 구현됨 | 권한 기반 Read/Edit/Create/Upload/Rename/Delete |
위키 개설 신청 | 구현됨 |
|
4. 점검에서 나온 것 (2026-11-01)
비로그인으로 AhaWiki 부터 GettingStarted, 편집 시도, 로그인 링크까지 따라가고 로그인은 코드로 봤다. 실제 Google 로그인과 가입 직후 화면은 해 보지 않았다.
- 개설 신청을 받을 곳이 없었다. 이메일이나 이슈 대신 신청 버튼으로 풀었다(Setup).
- 자동 닉네임이 이메일 앞부분이라, 가입만 해도 그것이 작성자 이름으로 공개될 수 있다. 가입 직후 안내를 만들 때 함께 다룬다.
- 로그인해도 권한이 없는 사이트에서는 같은 거부 화면만 보였다. 이제 로그인한 사람에게는 계정에 권한이 없다는 것과 사이트 관리자에게 요청하라는 것, 자기 위키를 신청하는 곳을 보여 준다.
- 비로그인 사용자의 편집 시도는 거부 화면과 Login 버튼으로 이어진다. 로그인 뒤에는 referer 로 온 곳으로 돌아가도록 되어 있다(
GoogleOAuth.login).
6. See Also
6.2. Similar Pages
Similar pages by cosine similarity. Words after page name are term frequency.